class Solution {
    public static void main(String[] args) {
        int[] arr={1,0};

        moveZeroes(arr);


    }
    public static void moveZeroes(int[] nums) {

        int left=0;
        int right=0;

        while(right<nums.length){

            if(nums[left]!=0){


                if(left==right){
                    right++;
                }

                left++;

            }else if(nums[right]!=0){


                int tmp=nums[left];
                nums[left]=nums[right];
                nums[right]=tmp;
                left++;
                right++;



            }else{
                right++;

            }




        }


    }
}


class Solution2 {
    public void duplicateZeros(int[] arr) {
        int size=arr.length;
        int left=0;
        int right=0;
        while(right<size){
            if(arr[left]==0){
                right+=2;
            }else{
                right++;
            }

            left++;

        }

        if(right!=size){
            right-=2;
            arr[right]=0;
            left-=2;
            right--;
        }else{
            right--;
            left--;
        }




        while(left>=0){
            if(arr[left]==0){
                arr[right]=0;
                arr[--right]=0;


            }else{
                arr[right]=arr[left];

            }
            right--;
            left--;
        }


    }
}




